前言
在日常开发和运维中,跨网络访问服务器、设备或服务是常见需求。传统 VPN 方案可能需要复杂的配置和部署,而 Tailscale 提供了一种简单、安全的方式,通过基于 WireGuard 的技术,快速构建私人网络。本文将详细介绍如何使用 Tailscale 搭建私人 VPN 网络,实现设备间的安全互联。
一、什么是 Tailscale?
1. 核心特点
- • 简单易用:无需复杂的网络配置,快速上手。
- • 高安全性:基于 WireGuard,提供点对点加密通信。
- • 跨平台支持:支持 Linux、Windows、macOS、Android 和 iOS。
- • 自动穿透:无需手动配置端口转发,可穿透 NAT 和防火墙。
2. 使用场景
- • 安全远程访问家庭或公司网络。
- • 构建开发环境的内网连接。
- • 跨设备共享资源,如文件或打印机。
二、安装 Tailscale
1. 在 Linux 系统上安装
以 Ubuntu 为例:
curl -fsSL https://tailscale.com/install.sh | sh
启动 Tailscale 服务:
sudo tailscale up
2. 在 Windows 上安装
- 下载 Tailscale for Windows 安装程序。
- 安装并登录账户即可启动。
3. 在 macOS 上安装
通过 Homebrew 安装:
brew install --cask tailscale
4. 在移动设备上安装
从应用商店下载 Tailscale 应用:
- • iOS: AppStore
- • Android: GooglePlay
5. 验证安装
运行以下命令查看网络状态:
tailscale status
三、配置和使用 Tailscale
1. 登录并启动网络
执行以下命令登录:
sudo tailscale up
- 提示登录链接:在浏览器中打开链接,用 Google 或 Microsoft 账号登录。
- 登录成功后,Tailscale 会自动分配内网 IP,例如
100.64.x.x
。
2. 查看设备状态
查看当前网络中的所有设备:
tailscale status
输出示例:
100.64.1.1 my-laptop linux active
100.64.1.2 home-server linux idle
100.64.1.3 work-pc windows active
3. 设备间通信
- Ping 测试: 测试从本地设备到远程设备的连接:
ping 100.64.1.2
- SSH 访问: 直接使用分配的内网 IP 进行远程连接:
ssh user@100.64.1.2
四、高级功能
1. 子网穿透
配置 Tailscale 代理访问子网资源: 在代理服务器上运行以下命令:
sudo tailscale up --advertise-routes=192.168.1.0/24
其他设备连接子网:
sudo tailscale up --accept-routes
2. 使用 Magic DNS
通过 Tailscale 提供的 Magic DNS 服务,使用设备名称而非 IP 地址访问:
ping my-laptop.tailnet
ssh user@home-server.tailnet
3. 文件共享
通过 Tailscale 的文件共享功能,在设备间传输文件:
- 在源设备上运行:
tailscale file send <target-device>
- 在目标设备上接收文件:
tailscale file recv
五、结合开发与运维场景
1. 开发环境的内网互联
通过 Tailscale 连接本地开发机和远程测试服务器,支持以下场景:
- 调试服务端接口。
- 在本地浏览器中访问远程前端项目。
2. 运维自动化
通过 Tailscale 实现服务器远程管理:
- 定时备份远程文件:
rsync -avz -e "ssh" /local/path user@100.64.1.2:/remote/path
- 监控服务状态:
ssh user@100.64.1.2 "systemctl status nginx"
3. 个人用途
- 在移动设备上远程访问家用 NAS 或打印机。
- 安全访问家庭摄像头或 IoT 设备。
六、常见问题与解决方案
1. 设备无法通信
- 原因:防火墙或路由器配置阻止连接。
- 解决方法:确保设备已加入 Tailscale 网络,并检查网络状态。
2. 分配的内网 IP 无法使用
- 原因:网络服务未正确启动。
- 解决方法:重启 Tailscale 服务:
sudo systemctl restart tailscaled
3. 访问子网失败
- 原因:子网路由未正确配置。
- 解决方法:检查代理设备的路由广告是否已启用。
文章来源: 微信公众号,原始发表时间:2025年01月20日。